package com.holly.unit.deform.designer.enums;

import java.util.Objects;
import java.util.stream.Stream;

/**
 * 类描述: 表处理类型
 * 定义一些表处理时候用到的一些常量
 * @author fxr
 * @version 1.0.0
 * @date 2022/8/3 13:16
 */
public enum  TableHandleEnum {

    // 表字段处理时--新字段的标识符
    TABLE_FIELD_NEW_FLAG("newFieldFlag"),
    // 表字段处理时--删除字段的标识符
    TABLE_FIELD_DEL_FLAG("delFieldFlag"),
    // 表字段处理时--更新字段的标识符
    TABLE_FIELD_UPDATE_FLAG("updateFieldFlag");

    String fieldName;

    TableHandleEnum(String fieldName) {
        this.fieldName = fieldName;
    }

    public String fieldName() {
        return this.fieldName;
    }

    public static TableHandleEnum of(String fieldName) {
        return Stream.of(TableHandleEnum.values())
                .filter(clazz -> Objects.equals(clazz.fieldName(), fieldName))
                .findFirst()
                .orElse(TABLE_FIELD_NEW_FLAG);
    }

}
